package com.jt.controller;

import com.jt.pojo.Item;
import com.jt.service.ItemService;
import com.jt.vo.ItemVO;
import com.jt.vo.PageResult;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@CrossOrigin
@RequestMapping("/item")
public class ItemController {
    @Autowired
    private ItemService itemService;

    /*
    商品列表展现
    * url:/getItemList
    * 参数:pageResult对象
    * 返回值:SysResult(pageResult)
    * */
    @GetMapping("/getItemList")
    public SysResult getItemList(PageResult pageResult){

        pageResult = itemService.getItemList(pageResult);
        return SysResult.success(pageResult);
    }

    /*
    商品状态修改
    * url:/updateItemStatus   put
    * 参数:pageResult对象
    * 返回值:SysResult
    * */
    @PutMapping("/updateItemStatus")
    public SysResult updateItemStatus(Item item){
        itemService.updateItemStatus(item);
        return SysResult.success();
    }

    /*
    商品数据删除
    * url:/deleteItemById   delete
    * 参数:pageResult对象
    * 返回值:SysResult
    * */
    @DeleteMapping("/deleteItemById")
    public SysResult deleteItemById(Integer id){
        itemService.deleteItemById(id);
        return SysResult.success();
    }

    /*
    商品数新增
    * url: /addItem     post
    * 参数:pageResult对象
    * 返回值:SysResult
    * */
    @PostMapping("/addItem")
    public SysResult addItem(@RequestBody Item item){
        itemService.addItem(item);
        return SysResult.success();
    }

    /*
    商品数修改
    * url:      get
    * 参数:pageResult对象
    * 返回值:SysResult
    * */
    @GetMapping("/")
    public SysResult updateItem(@RequestBody Item item){
        itemService.updateItem(item);
        return SysResult.success();
    }

    /*
    用户新增业务接口
    * url:http://localhost:8091/item/saveItem   post
    * 参数:from 表单的提交对象  ItemVO对象接收
    * 返回值:SysResult
    * */
    @PostMapping("/saveItem")
    public SysResult saveItem(@RequestBody ItemVO itemVO){
        itemService.saveItem(itemVO);
        return SysResult.success();
    }



}
